.\" $Id: lat_proc.8 1.2 00/10/16 17:13:46+02:00 staelin@hpli8.hpli.hpl.hp.com $
.TH LAT_PROC 8 "$Date: 00/10/16 17:13:46+02:00 $" "(c)1994 Larry McVoy" "LMBENCH"
.SH NAME
lat_proc \- process creation tests
.SH SYNOPSIS
.B lat_proc
[
.I "-P <parallelism>"
]
[
.I "-W <warmups>"
]
[
.I "-N <repetitions>"
]
.I "procedure|fork|exec|shell"
.SH DESCRIPTION
.B lat_proc
creates processes in three different forms, each more expensive than the last.
The purposes is to measure the time that it takes to create a basic thread
of control.
.LP
The forms are listed and described below:
.TP 20
Process fork+exit
The time it takes to split a process into two (nearly) identical copies
and have one exit.  This is how new processes are created but is not 
very useful since both processes are doing the same thing.
.TP
Process fork+execve
The time it takes to create a new process and have that new process run a new
program.  This is the inner loop of all shells (command interpreters).
.TP
Process fork+/bin/sh -c
The time it takes to create a new process and have that new process run a new
program by asking the system shell to find that program and run it.  This is
how the C library interface called \f(CBsystem\fP is implemented.  It is the
most general and the most expensive.
.SH OUTPUT
Output is in microseconds per operation like so:
.sp
.ft CB
.nf
Process fork+exit: 6054 microseconds
Process fork+execve: 11212 microseconds
Process fork+/bin/sh -c: 44346 microseconds
.br
.fi
.ft
.SH ACKNOWLEDGEMENT
Funding for the development of
this tool was provided by Sun Microsystems Computer Corporation.
.SH "SEE ALSO"
lmbench(8).
.SH "AUTHOR"
Carl Staelin and Larry McVoy
.PP
Comments, suggestions, and bug reports are always welcome.
